您的位置:首页 > 新闻中心 > 资讯详情

精准测试,浩瀚代码星空的守护者

作者   阳光

审核   凌晨

墨客星球  于深圳河畔  报道

现代社会其实是建立在各种以计算机为基石的软件技术基础之上的。随着日新月异的需求变化,软件系统越来越复杂。比如,一个大型金融软件可达10亿行代码,一架现代战斗机有25万个功能点,一艘Aegis级战舰有50万个功能点。

在这样的情况下,很多人觉得软件开发才是重要环节,但实际上,无法对大型软件进行有效的质量把控,就无法真正构建大型软件。——系统中任何一个错误都可能导致整个系统的崩溃,造成无法弥补的损失,系统的任何一个微小的修改都可能引入新的缺陷导致维护困难重重。然而,如何从极端庞大复杂的系统中迅速及时地找到故障所在,却是行业的一大难点。


软件测试两大方案比拼

据星云测试联合创始人Luna Zhang介绍,目前国内软件测试基本处于两种状态:一是绝大多数企业采用功能(黑盒)测试,二是部分对软件产品有高可靠性要求的关键软件,企业会使用代码级的白盒测试工具,但这两种传统的测试办法在目前的软件智能化趋势下,更像是用竹竿打怪兽,完全没办法应付的。

1、功能(黑盒)测试,测试者看不到程序内部逻辑结构,这种办法对软件可靠性要求不高的应用来讲问题不是很大,但是对于大型金融保险、工业软件、航天军工等关键系统就意味着时刻携带隐形的巨大风险。为此,功能测试后期需要极高的人力投入才能完成复杂逻辑的用例分析和设计。然而对于黑盒测试来说,由于我们无法获知内部的逻辑构造,程序越大杀虫剂效应越明显。而行业内当做银弹的自动化测试,当自动化程序本身规模扩大以后,它的维护本身就存在了很严重的问题。

2、代码级(白盒)测试工具一般重点应用在研发阶段的单元测试上,满足了客户的部分高可靠性需求,但由于其价格高昂、技术老化,仅适合于小规模迭代瀑布式开发的软件,无法完成复杂的系统级别的测试以及分布式基于云的测试,更无法适应敏捷迭代的开发模式。而且值得一提的是,目前白盒测试工具基本都是国外产品,通常这些产品无法完成深度的定制化功能以及快速的用户响应,代码安全也是一个较大的问题。

随着国内军民各项大型核心软件系统的上马,研发一种面向高复杂度大型软件、自主可控的高性能智能精准测试平台,显得迫在眉睫。正是在这种时代背景下,星云测试应运而生。


突破重围,构筑壁垒

据了解,星云测试的研发始于2012年初,由我国首批软件测试专业硕士、穿线测试理念的提出者、星云测试创始人赵明先生领衔研发。

然而,想要打破垄断将产品做好可不是一件容易的事。 “这是个交叉学科,里面涉及到编译器、测试分析、图形技术、高性能通信与存储,软件的研发,打通这些底层内容非常不容易。同时由于采用了全新的测试技术方法,完全没有市场参照产品,还要进行深度的用户测试以及用户培育,在测试的时候又会发现很多问题,需要根据这些问题不断优化。” Luna Zhang表示。

正是因为这些难题的存在,星云测试整整花了五年才在诸多方面实现重大突破,成功获得了一批重要企业的高度认可及产品采购。并在众多性能上全面超越国外的高端测试工具产品:

1、星云精准测试平台如同大型软件工程监理一样,为国家重点企业的大型高复杂度的核心系统质量做精准评估与分析。它将超大型复杂软件(如:上亿行的代码量、几百万个函数,数百个进程的系统)如同X光一样,采用独创的系统级软件示波器技术,实现全局可视化,颗粒精细度可达美国军标DO178B/C覆盖率100%的标准要求。平台以超过1500万/s的速率,精确采集程序内部运行路径数据,并确保对原有应用无任何干扰。

2、精准测试最核心的技术--测试用例和代码的追溯,就像一个全景调试器,清晰展示用例(功能)与海量代码的逻辑关联数据,功能在代码层面如何运行的一目了然。可精密捕获软件单元中任何微小的运行波动和行为改变,支持多次运行数据的比对。它将开发和测试之间的壁垒直接打通了,将测试的深度提升到了一个全新的层次。

3、星云精准测试的用例魔方,实际上满足了敏捷开发的业务模式,它通过内部算法,自动超快速选取新版本修改后可能影响到的测试用例,极大缓解了大型软件上线前的时间与质量的双重考核压力。用例魔方背后的原理却相当复杂,它涉及到回归测试用例的自动选取、测试用例聚类分析、智能缺陷定位等多种尖端科研成果,也是国际上首次实现商用。

4、全生命周期管理,回归测试优越,测试数据可复用。所有系统可视化,只需几十张管理报表,即可随时掌握系统的各种动态。将测试用例和研发代码相关联,可直接找到缺陷和漏洞,并且打通了开发与测试之间的壁垒,引入用例的关联代码后,将普通的功能测试附加上大量的智能算法,由计算机直接进行智能决策和分析,并对用例进行深度的分析。

5、单元测试用例自动生成Wings,它从测试的角度实现了基于AI的超大规模的机器自动编码。如同傻瓜相机一样,只需要设置下被测试代码路径,测试驱动和对应的测试数据框架就可以全自动生成。在内部测试中,星云测试能够在4分钟内为mysql这样的超大型软件生成400万行的直接就可以运行的代码。目前国际上仅有老牌测试工具巨头parasoft能够对简单的程序实现自动生成。刚获得高盛2200万美元融资的Diffblue公司刚开始进行初步的探索。

值得一提的是,星云系统具有全自主知识产权。另外,测试中可以脱离被测系统源代码运行,可有效保护客户的核心机密。


关于竞争?

“可能会有人对这个技术感兴趣,但要商业化很难。有些大学教授也在做这方面的研究,但商用产品缺任何技术细节,都无法完成产品的商业化。测试理论界通常在学术论文中对于测试高级算法的研究都对底层技术做了假设存在。就像画画,你有颜料有笔,知道怎么画,如何画得传神却很难。”Luna Zhang介绍,由于底层代码分析技术过于复杂,目前国内掌握大型软件系统精准检测平台技术的企业只有星云测试一家。

目前,星云测试系统的企业级平台已经在金融核心交易以及后台管控系统、航天飞控系统、民用大型网络交换机嵌入式软件、电信运营商复杂微服务系统等实现完美应用。

  • By
  • 2018.11.27 
  • 精准测试  星云测试  
最新资讯